<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  

  
  <title>海晨忆的博客</title>
  <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
  
  
  
  <meta name="description" content="我负责征战天下，你负责貌美如花！">
<meta property="og:type" content="website">
<meta property="og:title" content="海晨忆的博客">
<meta property="og:url" content="https://haichenyi.com/page/3/index.html">
<meta property="og:site_name" content="海晨忆的博客">
<meta property="og:description" content="我负责征战天下，你负责貌美如花！">
<meta property="og:locale" content="zh-Hans">
<meta name="twitter:card" content="summary">
<meta name="twitter:title" content="海晨忆的博客">
<meta name="twitter:description" content="我负责征战天下，你负责貌美如花！">
  
    <link rel="alternate" href="/atom.xml" title="海晨忆的博客" type="application/atom+xml">
  
  
    <link rel="icon" href="/uploads/artistic_image/head.jpg">
  
  
    <link href="//fonts.googleapis.com/css?family=Source+Code+Pro" rel="stylesheet" type="text/css">
  
  <link rel="stylesheet" href="/css/style.css">
  <link rel="stylesheet" href="/css/highlight.css">
  <script>
  let antiquityStorage = window.sessionStorage.getItem('antiquitySessionStorage');
  if (antiquityStorage == '' || antiquityStorage == null) {
    var antiquityLoader = '<div id="loaderbox"><div class="loader"><div class="load-roll"><div class="load-top"></div><div class="load-right"></div><div class="load-bottom"></div></div></div></div>';
    document.write(antiquityLoader);
    document.body.style.overflow = 'hidden'
  }
  </script>
</head>

<body>
  <div id="fullpage" class="mobile-nav-right">
    
      <div id="wrapper" style="background-image: url(/uploads/artistic_image/bg.jpg)" title="背景图片来自网络">
    
    
      <header id="header">
  <div id="nav-toggle" class="nav-toggle"></div>
  <div class="head-box global-width">
    <nav class="nav-box nav-right">
      
        <a class="nav-item" href="/" title
        
        >首页</a>
      
        <a class="nav-item" href="/archives" title
        
        >归档</a>
      
        <a class="nav-item" href="/about" title
        
        >简历</a>
      
    </nav>
  </div>
</header>
      <div id="middlecontent" title class="global-width sidebar-left">
        <section id="main">
  
    <article id="post-SpringBoot系列—-SpringBootApplication源码解析（三）" class="article global-container article-type-post" itemscope itemprop="blogPost">
  
    <header class="article-header">
      
  
    <h1 itemprop="name">
      <a class="article-title" href="/2019/08/22/SpringBoot系列—-SpringBootApplication源码解析（三）/">SpringBoot系列—@SpringBootApplication源码解析（三）</a>
    </h1>
  

    </header>
  
  <div class="article-meta">
    <a href="/2019/08/22/SpringBoot系列—-SpringBootApplication源码解析（三）/" class="article-date">
  <time datetime="2019-08-22T08:20:22.000Z" itemprop="datePublished">2019-08-22</time>
</a>
    
  <div class="article-category">
    <a class="article-category-link" href="/categories/Java-SpringBoot/">Java -SpringBoot</a>
  </div>

    
  </div>
  

  <div class="article-inner">
    
    <div class="article-content article-content-cloud doorframe mac" itemprop="articleBody">
      
        <p>&emsp;&emsp;上一篇，内容很少，说了一下SpringBoot的底层是怎么依赖的。这一篇讲一下SpringBoot底层源码是怎么实现的。</p>
        
          <p class="article-more-link">
            <a href="/2019/08/22/SpringBoot系列—-SpringBootApplication源码解析（三）/#more">阅读全文</a>
          </p>
        
      
    </div>
    
  </div>
  
  
</article>

  
    <article id="post-SpringBoot系列—底层依赖（二）" class="article global-container article-type-post" itemscope itemprop="blogPost">
  
    <header class="article-header">
      
  
    <h1 itemprop="name">
      <a class="article-title" href="/2019/08/22/SpringBoot系列—底层依赖（二）/">SpringBoot系列—底层依赖（二）</a>
    </h1>
  

    </header>
  
  <div class="article-meta">
    <a href="/2019/08/22/SpringBoot系列—底层依赖（二）/" class="article-date">
  <time datetime="2019-08-22T07:01:05.000Z" itemprop="datePublished">2019-08-22</time>
</a>
    
  <div class="article-category">
    <a class="article-category-link" href="/categories/Java-SpringBoot/">Java -SpringBoot</a>
  </div>

    
  </div>
  

  <div class="article-inner">
    
    <div class="article-content article-content-cloud doorframe mac" itemprop="articleBody">
      
        <p>&emsp;&emsp;前面，我们创建了一个Spring Boot的hello world，我们仅仅添加了一个<strong>spring-boot-starter-parent</strong>，它是怎么帮我们实现这个依赖的呢？我们可以点进去看一下<strong>Ctrl+鼠标左键</strong>，如下图：</p>
        
          <p class="article-more-link">
            <a href="/2019/08/22/SpringBoot系列—底层依赖（二）/#more">阅读全文</a>
          </p>
        
      
    </div>
    
  </div>
  
  
</article>

  
    <article id="post-SpringBoot系列—Hello-World（一）" class="article global-container article-type-post" itemscope itemprop="blogPost">
  
    <header class="article-header">
      
  
    <h1 itemprop="name">
      <a class="article-title" href="/2019/08/22/SpringBoot系列—Hello-World（一）/">SpringBoot系列—Hello World（一）</a>
    </h1>
  

    </header>
  
  <div class="article-meta">
    <a href="/2019/08/22/SpringBoot系列—Hello-World（一）/" class="article-date">
  <time datetime="2019-08-22T06:00:44.000Z" itemprop="datePublished">2019-08-22</time>
</a>
    
  <div class="article-category">
    <a class="article-category-link" href="/categories/Java-SpringBoot/">Java -SpringBoot</a>
  </div>

    
  </div>
  

  <div class="article-inner">
    
    <div class="article-content article-content-cloud doorframe mac" itemprop="articleBody">
      
        <p>&emsp;&emsp;终于要正式开始了java后台之路，虽然，之前断断续续的看过过黑马的java web视频，但是，都是好几年前的视频，很老了，感觉用处比较大的就是MySQL数据库操作，之前也写过几篇关于<a href="https://blog.csdn.net/qq_27634797/article/category/8050256" target="_blank" rel="noopener">MySQL数据库操作的博客</a>。目前，java后台最火的框架就属<a href="https://spring.io/projects/spring-boot" target="_blank" rel="noopener">Spring Boot</a>了。它是<a href="https://spring.io/" target="_blank" rel="noopener">spring</a>家族的衍生框架，并不是加强某个功能，它是为了简化配置，提高开发效率。</p>
        
          <p class="article-more-link">
            <a href="/2019/08/22/SpringBoot系列—Hello-World（一）/#more">阅读全文</a>
          </p>
        
      
    </div>
    
  </div>
  
  
</article>

  
    <article id="post-dagger2整个流程解析（一）" class="article global-container article-type-post" itemscope itemprop="blogPost">
  
    <header class="article-header">
      
  
    <h1 itemprop="name">
      <a class="article-title" href="/2019/07/31/dagger2整个流程解析（一）/">dagger2整个流程解析（一）</a>
    </h1>
  

    </header>
  
  <div class="article-meta">
    <a href="/2019/07/31/dagger2整个流程解析（一）/" class="article-date">
  <time datetime="2019-07-31T12:17:33.000Z" itemprop="datePublished">2019-07-31</time>
</a>
    
  <div class="article-category">
    <a class="article-category-link" href="/categories/Android-源码解析/">Android -源码解析</a>
  </div>

    
  </div>
  

  <div class="article-inner">
    
    <div class="article-content article-content-cloud doorframe mac" itemprop="articleBody">
      
        <p>&emsp;&emsp;众所周知，dagger的入门是比较难的，在嵌入之前，我先说一下这个dagger必要的东西，也是比较常见的东西，几个注解 <strong>@Component</strong>，<strong>@Singleton</strong>，<strong>@Module</strong>，<strong>@Provides</strong>，<strong>@Inject</strong></p>
        
          <p class="article-more-link">
            <a href="/2019/07/31/dagger2整个流程解析（一）/#more">阅读全文</a>
          </p>
        
      
    </div>
    
  </div>
  
  
</article>

  
    <article id="post-一场由dagger2引发的一些思考" class="article global-container article-type-post" itemscope itemprop="blogPost">
  
    <header class="article-header">
      
  
    <h1 itemprop="name">
      <a class="article-title" href="/2019/07/31/一场由dagger2引发的一些思考/">一场由dagger2引发的一些思考</a>
    </h1>
  

    </header>
  
  <div class="article-meta">
    <a href="/2019/07/31/一场由dagger2引发的一些思考/" class="article-date">
  <time datetime="2019-07-31T09:40:23.000Z" itemprop="datePublished">2019-07-31</time>
</a>
    
  <div class="article-category">
    <a class="article-category-link" href="/categories/Android-常用功能/">Android -常用功能</a>
  </div>

    
  </div>
  

  <div class="article-inner">
    
    <div class="article-content article-content-cloud doorframe mac" itemprop="articleBody">
      
        <p>&emsp;&emsp;用了好几年的dagger2，从dagger2.android。就只有当时刚开始用dagger的时候深入的了解过，后来就再也没有深入的时候研究过。这几天又研究了一下，做个总结。</p>
<p>&emsp;&emsp;就拿之前写的<a href="https://github.com/haichenyi/KotlinMvp" target="_blank" rel="noopener">kotlin的框架</a>来说，它用的是dagger2.android。从dagger2.android。最明显的就是，需要我们自己写的东西越来越少了，框架帮我们做的事情越来越多了，以至于，我们对这个过程越来越看不懂了。也就有了我这篇博客。</p>
        
          <p class="article-more-link">
            <a href="/2019/07/31/一场由dagger2引发的一些思考/#more">阅读全文</a>
          </p>
        
      
    </div>
    
  </div>
  
  
</article>

  
    <article id="post-Tomcat安装与启动" class="article global-container article-type-post" itemscope itemprop="blogPost">
  
    <header class="article-header">
      
  
    <h1 itemprop="name">
      <a class="article-title" href="/2019/07/25/Tomcat安装与启动/">Tomcat安装与启动</a>
    </h1>
  

    </header>
  
  <div class="article-meta">
    <a href="/2019/07/25/Tomcat安装与启动/" class="article-date">
  <time datetime="2019-07-25T12:22:47.000Z" itemprop="datePublished">2019-07-25</time>
</a>
    
  <div class="article-category">
    <a class="article-category-link" href="/categories/Tomcat/">Tomcat</a>
  </div>

    
  </div>
  

  <div class="article-inner">
    
    <div class="article-content article-content-cloud doorframe mac" itemprop="articleBody">
      
        <p>&emsp;&emsp;搭建android框架的时候总是会遇到测试网络请求没有接口的问题，今天就自己搭建一个服务器Tomcat。不用写web项目就能直接获取到数据</p>
        
          <p class="article-more-link">
            <a href="/2019/07/25/Tomcat安装与启动/#more">阅读全文</a>
          </p>
        
      
    </div>
    
  </div>
  
  
</article>

  
    <article id="post-Android开发中的小技巧（持续更新-）" class="article global-container article-type-post" itemscope itemprop="blogPost">
  
    <header class="article-header">
      
  
    <h1 itemprop="name">
      <a class="article-title" href="/2019/07/25/Android开发中的小技巧（持续更新-）/">Android开发中的小技巧（持续更新...）</a>
    </h1>
  

    </header>
  
  <div class="article-meta">
    <a href="/2019/07/25/Android开发中的小技巧（持续更新-）/" class="article-date">
  <time datetime="2019-07-25T12:22:29.000Z" itemprop="datePublished">2019-07-25</time>
</a>
    
  <div class="article-category">
    <a class="article-category-link" href="/categories/Android-常用功能/">Android -常用功能</a>
  </div>

    
  </div>
  

  <div class="article-inner">
    
    <div class="article-content article-content-cloud doorframe mac" itemprop="articleBody">
      
        <p>&emsp;&emsp;android开发中那些不为人知的小技巧</p>
        
          <p class="article-more-link">
            <a href="/2019/07/25/Android开发中的小技巧（持续更新-）/#more">阅读全文</a>
          </p>
        
      
    </div>
    
  </div>
  
  
</article>

  
    <article id="post-kotlin之协程一简单使用" class="article global-container article-type-post" itemscope itemprop="blogPost">
  
    <header class="article-header">
      
  
    <h1 itemprop="name">
      <a class="article-title" href="/2019/07/16/kotlin之协程一简单使用/">kotlin之协程一简单使用</a>
    </h1>
  

    </header>
  
  <div class="article-meta">
    <a href="/2019/07/16/kotlin之协程一简单使用/" class="article-date">
  <time datetime="2019-07-16T10:17:14.000Z" itemprop="datePublished">2019-07-16</time>
</a>
    
  <div class="article-category">
    <a class="article-category-link" href="/categories/kotlin/">kotlin</a>
  </div>

    
  </div>
  

  <div class="article-inner">
    
    <div class="article-content article-content-cloud doorframe mac" itemprop="articleBody">
      
        <p>&emsp;&emsp;kotlin协程用于线程切换，kotlin里面不需要new Thread，并且，协程的开销小于new Thread。有三种写法：<strong><em>runBlocking，launch，async</em></strong></p>
        
          <p class="article-more-link">
            <a href="/2019/07/16/kotlin之协程一简单使用/#more">阅读全文</a>
          </p>
        
      
    </div>
    
  </div>
  
  
</article>

  
    <article id="post-kotlin之内部类，匿名内部类与伴生对象" class="article global-container article-type-post" itemscope itemprop="blogPost">
  
    <header class="article-header">
      
  
    <h1 itemprop="name">
      <a class="article-title" href="/2019/06/14/kotlin之内部类，匿名内部类与伴生对象/">kotlin之内部类，匿名内部类与伴生对象</a>
    </h1>
  

    </header>
  
  <div class="article-meta">
    <a href="/2019/06/14/kotlin之内部类，匿名内部类与伴生对象/" class="article-date">
  <time datetime="2019-06-14T12:57:56.000Z" itemprop="datePublished">2019-06-14</time>
</a>
    
  <div class="article-category">
    <a class="article-category-link" href="/categories/kotlin/">kotlin</a>
  </div>

    
  </div>
  

  <div class="article-inner">
    
    <div class="article-content article-content-cloud doorframe mac" itemprop="articleBody">
      
        <h3 id="内部类"><a href="#内部类" class="headerlink" title="内部类"></a>内部类</h3><p>&emsp;&emsp;kotlin的内部类与java的内部类有点不同<strong><em>java的内部类可以直接访问外部类的成员，kotlin的内部类不能直接访问外部类的成员，必须用inner标记之后才能访问外部类的成员</em></strong></p>
        
          <p class="article-more-link">
            <a href="/2019/06/14/kotlin之内部类，匿名内部类与伴生对象/#more">阅读全文</a>
          </p>
        
      
    </div>
    
  </div>
  
  
</article>

  
    <article id="post-kotlin之扩展方法" class="article global-container article-type-post" itemscope itemprop="blogPost">
  
    <header class="article-header">
      
  
    <h1 itemprop="name">
      <a class="article-title" href="/2019/06/14/kotlin之扩展方法/">kotlin之扩展方法</a>
    </h1>
  

    </header>
  
  <div class="article-meta">
    <a href="/2019/06/14/kotlin之扩展方法/" class="article-date">
  <time datetime="2019-06-14T12:57:34.000Z" itemprop="datePublished">2019-06-14</time>
</a>
    
  <div class="article-category">
    <a class="article-category-link" href="/categories/kotlin/">kotlin</a>
  </div>

    
  </div>
  

  <div class="article-inner">
    
    <div class="article-content article-content-cloud doorframe mac" itemprop="articleBody">
      
        <p>&emsp;&emsp;kotlin的扩展方法类似于java工具类，但是又优于java的工具类。</p>
        
          <p class="article-more-link">
            <a href="/2019/06/14/kotlin之扩展方法/#more">阅读全文</a>
          </p>
        
      
    </div>
    
  </div>
  
  
</article>

  


  <nav id="page-nav">
    
    <a class="extend prev" rel="prev" href="/page/2/">&laquo; 上一页</a><a class="page-number" href="/">1</a><a class="page-number" href="/page/2/">2</a><span class="page-number current">3</span><a class="page-number" href="/page/4/">4</a><a class="page-number" href="/page/5/">5</a><span class="space">&hellip;</span><a class="page-number" href="/page/8/">8</a><a class="extend next" rel="next" href="/page/4/">下一页 &raquo;</a>
  </nav>


</section>
        <aside id="sidebar">
  
    <div class="widget-box">
  <div class="avatar-box avatar-item">
    <img class="avatar" src="/uploads/artistic_image/head.jpg" title="头像来自网络"></img>
    <h3 class="avatar-name">
      
        海晨忆
      
    </h3>
    <p class="avatar-slogan">
      先谋生，再谋爱。人间值得，未来可期。
    </p>
  </div>
</div>


  
    
  <div class="widget-box">
    <h3 class="widget-title">分类</h3>
    <div class="widget">
      <ul class="category-list"><li class="category-list-item"><a class="category-list-link" href="/categories/Android-Socket/">Android -Socket</a></li><li class="category-list-item"><a class="category-list-link" href="/categories/Android-加密算法/">Android -加密算法</a></li><li class="category-list-item"><a class="category-list-link" href="/categories/Android-常用功能/">Android -常用功能</a></li><li class="category-list-item"><a class="category-list-link" href="/categories/Android-框架/">Android -框架</a></li><li class="category-list-item"><a class="category-list-link" href="/categories/Android-源码解析/">Android -源码解析</a></li><li class="category-list-item"><a class="category-list-link" href="/categories/Android-自定义view/">Android -自定义view</a></li><li class="category-list-item"><a class="category-list-link" href="/categories/Android-设计模式/">Android -设计模式</a></li><li class="category-list-item"><a class="category-list-link" href="/categories/JAVA-并发/">JAVA -并发</a></li><li class="category-list-item"><a class="category-list-link" href="/categories/Java-SpringBoot/">Java -SpringBoot</a></li><li class="category-list-item"><a class="category-list-link" href="/categories/Tomcat/">Tomcat</a></li><li class="category-list-item"><a class="category-list-link" href="/categories/kotlin/">kotlin</a></li><li class="category-list-item"><a class="category-list-link" href="/categories/数据库-JDBC/">数据库 -JDBC</a></li><li class="category-list-item"><a class="category-list-link" href="/categories/数据库-MySQL/">数据库 -MySQL</a></li></ul>
    </div>
  </div>


  
    

  
    
  
    
  <div class="widget-box">
    <h3 class="widget-title">归档</h3>
    <div class="widget">
      <ul class="archive-list"><li class="archive-list-item"><a class="archive-list-link" href="/archives/2021/07/">July 2021</a></li><li class="archive-list-item"><a class="archive-list-link" href="/archives/2019/11/">November 2019</a></li><li class="archive-list-item"><a class="archive-list-link" href="/archives/2019/10/">October 2019</a></li><li class="archive-list-item"><a class="archive-list-link" href="/archives/2019/09/">September 2019</a></li><li class="archive-list-item"><a class="archive-list-link" href="/archives/2019/08/">August 2019</a></li><li class="archive-list-item"><a class="archive-list-link" href="/archives/2019/07/">July 2019</a></li><li class="archive-list-item"><a class="archive-list-link" href="/archives/2019/06/">June 2019</a></li><li class="archive-list-item"><a class="archive-list-link" href="/archives/2018/10/">October 2018</a></li><li class="archive-list-item"><a class="archive-list-link" href="/archives/2018/05/">May 2018</a></li><li class="archive-list-item"><a class="archive-list-link" href="/archives/2018/03/">March 2018</a></li><li class="archive-list-item"><a class="archive-list-link" href="/archives/2018/02/">February 2018</a></li></ul>
    </div>
  </div>

  
    
  <div class="widget-box">
    <h3 class="widget-title">最新文章</h3>
    <div class="widget">
      <ul>
        
          <li>
            <a href="/2021/07/27/JAVA—公平锁，非公平锁，悲观锁，乐观锁，死锁/">JAVA—公平锁，非公平锁，悲观锁，乐观锁，死锁</a>
          </li>
        
          <li>
            <a href="/2021/07/19/JAVA—线程同步器AQS/">JAVA—线程同步器AQS</a>
          </li>
        
          <li>
            <a href="/2021/07/07/Android模拟点击/">Android模拟点击</a>
          </li>
        
          <li>
            <a href="/2019/11/27/SpringBoot系列-消息-RabbitMQ-（二十）/">SpringBoot系列-消息(RabbitMQ)（二十）</a>
          </li>
        
          <li>
            <a href="/2019/11/13/SpringBoot系列-Docker（十九）/">SpringBoot系列-Docker（十九）</a>
          </li>
        
      </ul>
    </div>
  </div>

  
      <div class="widget-box">
    <h3 class="widget-title">友情链接</h3>
    <div class="widget">
      
        <a class="hrf" style="display: block;" href="https://github.com/haichenyi" title target='_blank'
        >Github</a>
      
        <a class="hrf" style="display: block;" href="https://www.jianshu.com/u/6077ee440c37" title target='_blank'
        >简书</a>
      
        <a class="hrf" style="display: block;" href="https://blog.csdn.net/qq_27634797" title target='_blank'
        >CSDN</a>
      
    </div>
  </div>

  
</aside>
      </div>
      <footer id="footer">
  <div class="foot-box footers global-width">
    &copy;2017-2021 海晨忆 &nbsp;&nbsp;
    <script async src="//busuanzi.ibruce.info/busuanzi/2.3/busuanzi.pure.mini.js"></script>
    <span id="busuanzi_container_site_pv">阁下是第<span id="busuanzi_value_site_pv"></span>个访客</span>
  </div>
</footer>
      <script src="https://code.jquery.com/jquery-2.0.3.min.js"></script>
<script>
if (!window.jQuery) {
var script = document.createElement('script');
script.src = "/js/jquery-2.0.3.min.js";
document.body.write(script);
}
</script>

  <link rel="stylesheet" href="/fancybox/jquery.fancybox.css">
  <script src="/fancybox/jquery.fancybox.pack.js"></script>


<script src="/js/script.js"></script>



    </div>
    <nav id="mobile-nav" class="mobile-nav-box">
  <div class="mobile-nav-img mobile-nav-top"></div>
  
    <a href="/" class="mobile-nav-link">首页</a>
  
    <a href="/archives" class="mobile-nav-link">归档</a>
  
    <a href="/about" class="mobile-nav-link">简历</a>
  
  <div class="mobile-nav-img  mobile-nav-bottom"></div>
</nav>    
  </div>
</body>
</html>